package com.boot.common.utils;

/**
 * @author Cheng JiYe
 * @description: stringutil工具类
 * @date 2020/10/2 1:10
 */
public class StringUtils {
  /**
   * 判断对象为null或空字符串
   *
   * @param val
   * @return
   */
  public static boolean isBlank(Object val) {
    if (val == null) {
      return true;
    } else if (val instanceof String) {
      return isBlank(val.toString());
    }
    return false;
  }

  /**
   * 判断对象不为null或空字符串
   *
   * @param val
   * @return
   */
  public static boolean isNotBlank(Object val) {
    return !isBlank(val);
  }

  /**
   * 判断字符串为空
   *
   * @param str
   * @return
   */
  public static boolean isBlank(String str) {
    int strLen;
    if (str == null || (strLen = str.length()) == 0) {
      return true;
    }
    for (int i = 0; i < strLen; i++) {
      if ((Character.isWhitespace(str.charAt(i)) == false)) {
        return false;
      }
    }
    return true;
  }

  /**
   * 判断字符串不为空
   *
   * @param str
   * @return
   */
  public static boolean isNotBlank(String str) {
    return !StringUtils.isBlank(str);
  }

  /**
   * 判断字符串为空
   *
   * @param str
   * @return
   */
  public static boolean isEmpty(String str) {
    return str == null || str.length() == 0;
  }

  /**
   * 判断字符串不为空
   *
   * @param str
   * @return
   */
  public static boolean isNotEmpty(String str) {
    return !StringUtils.isEmpty(str);
  }

  /**
   * 左补齐
   *
   * @param str 待补齐字符串
   * @param padStr 用于补齐的字符串
   * @param len 总长度
   * @return
   */
  public static String lpadStr(String str, String padStr, int len) {
    while (str.length() < len) {
      str = padStr + str;
    }
    return str;
  }
}
